Pool cleaning robot and a method for imaging a pool

ABSTRACT

A method for cleaning a region of a pool, the method may include moving a pool cleaning robot along a cleaning path that covers the region while acquiring, at first different points of time and by a sensing unit of the pool cleaning robot, first images of first scenes, at least one first scene at each first point of time; wherein the acquiring of the first images is executed while illuminating the first scenes by the pool cleaning robot; detecting, in at least one first image, illumination reflected or scattered as a result of the illuminating of the first scenes; removing from the at least one first image information about the illumination reflected or scattered; determining, based at least in part of on the first images, first locations of the pool cleaning robot; and wherein the moving is responsive to the first locations of the pool cleaning robot.

BACKGROUND

Pool cleaning robot s such as pool cleaning robots are known in the art.They are expected to clean the pool by brushing the surfaces of the pooland filtering the pumped fluid of the pool by removing foreign particlesand debris from that fluid.

It is of importance that the pool cleaning robot navigates in aneffective and efficient way so that it may reach and cover the entirearea of the pool that it is programmed to within a specified cleaningcycle.

Pool cleaning robots may also be required to deal with pool builtfixtures such as climbing on vertical wall surfaces, stairs, ledges, andthe like.

Pool cleaning robots may be required to traverse various additionalobstacles that may be mounted in the pool areas. Such as, for example:spot lamps, return jet outlets, ladders and the like or irregular poolshapes or contours, steep angles, main drains, stairs, permanentstructures such as for example bar and stools or temporary elements suchas for example toys, gym apparatus, any special equipment that may beinstalled in the swimming pool whether it be a fixed or a removableinstallation and the like.

There is a continually growing need to provide a pool cleaning robotthat is capable of travelling, traversing obstacles, reckoning itsposition location in a precise, efficient and effective manner SUMMARY

There may be provided a method for cleaning a region of a pool, themethod may include moving a pool cleaning robot along a cleaning paththat covers the region while acquiring, at first different points oftime and by a sensing unit of the pool cleaning robot, first images offirst scenes, at least one first scene at each first point of time;wherein the acquiring of the first images may be executed whileilluminating the first scenes by the pool cleaning robot; detecting, inat least one first image, illumination reflected or scattered as aresult of the illuminating of the first scenes; removing from the atleast one first image information about the illumination reflected orscattered; determining, based at least in part of on the first images,first locations of the pool cleaning robot; and wherein the moving maybe responsive to the first locations of the pool cleaning robot.

The method may include moving the pool cleaning robot along the cleaningpath while acquiring, at second points of time and by the sensing unitof the pool cleaning robot, second images of second scenes, at least onesecond scene per point of time; wherein the acquiring of the secondimages may be executed without illuminating the second scenes by thepool cleaning robot; detecting, in at least one image, a flicker;removing from the at least one image information about the flicker;determining, based on the second images of the second scenes, secondlocations of the pool cleaning robot; and wherein the moving may beresponsive to the second locations of the pool cleaning robot.

The method may include selecting between acquiring the first images andacquiring of the second images.

The selecting may be based on a time of cleaning.

The selecting may be based on ambient illumination.

The method may include calculating at least one out of a reflectionparameter and a scatter parameter of the illumination reflected orscattered.

The method may include determining at least one illumination parameterbased on the at least one out of the reflection parameter and thescatter parameter.

The at least one illumination parameter may be a color of illumination.

The at least one illumination parameter may be an intensity ofillumination.

The calculating may be based on one or more images acquired underdifferent illumination conditions.

The method may include acquiring the first images by a stereoscopiccamera of the sensing unit.

There may be provided a non-transitory computer readable medium thatstores instructions that once executed by a pool cleaning robot causethe pool cleaning robot to execute the steps of moving the pool cleaningrobot along a cleaning path that covers a region of the pool whileacquiring, at first different points of time and by a sensing unit ofthe pool cleaning robot, first images of first scenes, at least onefirst scene at each first point of time; wherein the acquiring of thefirst images may be executed while illuminating the first scenes by thepool cleaning robot; detecting, in at least one first image,illumination reflected or scattered as a result of the illuminating ofthe first scenes; removing from the at least one first image informationabout the illumination reflected or scattered; determining, based atleast in part of on the first images, first locations of the poolcleaning robot; and wherein the moving may be responsive to the firstlocations of the pool cleaning robot.

The illumination reflected or scattered may be reflected or scatteredfrom turbid fluid, from a pool static element and the like.

The non-transitory computer readable medium may store instructions formoving the pool cleaning robot along the cleaning path while acquiring,at second points of time and by the sensing unit of the pool cleaningrobot, second images of second scenes, at least one second scene perpoint of time; wherein the acquiring of the second images may beexecuted without illuminating the second scenes by the pool cleaningrobot; detecting, in at least one image, a flicker; removing from the atleast one image information about the flicker; determining, based on thesecond images of the second scenes, second locations of the poolcleaning robot; and wherein the moving may be responsive to the secondlocations of the pool cleaning robot.

The non-transitory computer readable medium may store instructions forselecting between acquiring the first images and acquiring of the secondimages.

The selecting may be based on a time of cleaning.

The selecting may be based on ambient illumination.

The non-transitory computer readable medium may store instructions forcalculating at least one out of a reflection parameter and a scatterparameter of the illumination reflected or scattered.

The non-transitory computer readable medium may store instructions fordetermining at least one illumination parameter based on the at leastone out of the reflection parameter and the scatter parameter.

The at least one illumination parameter may be a color of illumination.

The at least one illumination parameter may be an intensity ofillumination.

The non-transitory computer readable medium may store instructions forcalculating based on one or more images acquired under differentillumination conditions.

The non-transitory computer readable medium may store instructions foracquiring the first images by a stereoscopic camera of the sensing unit.

There may be provided a pool cleaning robot that may include a housing;a filtering unit that may be constructed and arranged to filter fluid; afluid control unit that may be constructed and arranged to control aflow of the fluid within the pool cleaning robot; a sensing unit; anillumination unit (that may include one or more illumination elementssuch as first and second LEDs, white LED and a colored LED; a processor;and a drive system; wherein the drive system may be constructed andarranged to move the pool cleaning robot along a cleaning path thatcovers the region; wherein the sensing unit may be constructed andarranged to acquire first images of first scenes, at first differentpoints of time, while the pool cleaning robot moves along the cleaningpath, and while the illumination unit illuminates the first scenes;wherein at least one first scene may be acquired at each first point oftime; wherein the processor may be constructed and arranged to detect,in at least one first image, illumination reflected or scattered as aresult of the illuminating of the first scenes; remove from the at leastone first image information about the illumination reflected orscattered; determine, based at least in part of on the first images,first locations of the pool cleaning robot; and determine a manner ofmoving the pool cleaning robot in response to the first locations of thepool cleaning robot.

The illumination reflected or scattered may be reflected or scatteredfrom turbid fluid, from a pool static element and the like.

The sensing unit may be constructed and arranged to acquire secondimages of second scenes, at second different points of time, while thepool cleaning robot moves along the cleaning path, and while theillumination unit does not illuminate the second scenes; wherein atleast one second scene may be acquired at each second point of time;wherein the processor may be constructed and arranged to detect, in atleast one image, a flicker; remove from the at least one imageinformation about the flicker; determine, based at least in part of onthe second images, second locations of the pool cleaning robot; anddetermine a manner of moving the pool cleaning robot in response to thesecond locations of the pool cleaning robot.

The processor may be constructed and arranged to select betweenacquiring the first images and acquiring of the second images.

The selecting may be based on a time of cleaning.

The selecting may be based on ambient illumination.

The processor may be constructed and arranged to calculate at least oneout of a reflection parameter and a scatter parameter of theillumination reflected or scattered.

The processor may be constructed and arranged to determine at least oneillumination parameter based on the at least one out of the reflectionparameter and the scatter parameter.

The at least one illumination parameter may be a color of illumination.

The at least one illumination parameter may be an intensity ofillumination.

The processor may be constructed and arranged to calculate based on oneor more images acquired under different illumination conditions.

The sensing unit may include a stereoscopic camera that may beconstructed and arranged to acquire the first images.

There may be provided non-transitory computer readable medium thatstores instructions for any steps of any method listed below—especiallybut not limited to paragraphs [0043]-[0063].

There may be provided a pool cleaning robot that is constructed andarranged to execute any steps of any method listed below—especially butnot limited to paragraphs [0043]-[0063].

There may be provided method for navigating a pool cleaning robot withina pool, the method may include repetitively executing, during thenavigating of the pool cleaning robot, the steps of concurrentlysensing, by a pool cleaning robot, distances between the pool cleaningrobot and static pool elements that may be oriented from each other;estimating by a pool cleaning robot processor a location of the poolcleaning robot within the pool, based on the distances; and determininga future progress of the pool cleaning robot based on the location.

The sensing may include acquiring one or more images of the static poolelements by a stereoscopic camera of the robot.

The sensing may include illuminating a surrounding of the robot toprovide an illuminated surrounding; acquiring one or more images of theilluminated surrounding; and processing the one or more images todetermine whether the surrounding include the one or more static poolelements.

The illuminating may include illuminating the illuminated surroundingswith different colors, at different points of time, to obtain differentcolor images of the illuminated surroundings; and comparing between thedifferent color images to determine whether the illuminated surroundingsincludes the one or more static pool elements.

The different colors may include green and another color.

The method may include receiving or generating, at least in part by thepool cleaning robot, a three dimensional representation of the poolduring a learning period.

The method may include generating, by the pool cleaning robot, andduring a progress over a part of the pool, a three dimensional estimateof a portion of the pool; searching a portion of the three dimensionalrepresentation of the pool that may be similar to the three dimensionalestimate of the portion of the pool; and wherein the determining of thelocation of the pool cleaning robot within the pool may be responsive toan outcome of the searching.

There may be provided a method that may include illuminating asurrounding of a pool cleaning robot with green light to provide a greenilluminated scene; acquiring an image of the green illuminated scene;estimating a penetration depth of the green light within the surroundingof the pool cleaning robot; illuminating the surrounding of the poolcleaning robot with a light of another color to provide another colorilluminated scene; wherein the other color differs from green; acquiringan image of the other color illuminated scene; estimating a penetrationdepth of the other light within the surrounding of the pool cleaningrobot; comparing between the penetration depth of the green light andthe penetration depth of the other light to provide a comparison result;and determining, based on the comparison result, at least one of alocation of the pool cleaning robot, and a state of water within thesurroundings of the pool cleaning robot.

The method may include determining that the surroundings of the poolcleaning robot may include a sidewall of the pool when the penetrationdepth of the other light within the surrounding of the pool cleaningrobot substantially equals the penetration depth of the green lightwithin the surrounding of the pool cleaning robot.

The method may include determining that the surroundings of the poolcleaning robot does not may include a sidewall of the pool when thepenetration depth of the other light within the surrounding of the poolcleaning robot substantially differs from the penetration depth of thegreen light within the surrounding of the pool cleaning robot.

There may be provided a method for cleaning a region of the pool, themethod may include moving a pool cleaning robot within the region whilerepetitively determining a location of the pool cleaning robot based onimages acquired by a stereoscopic camera of the pool cleaning robot; andcleaning the region by a pool cleaning robot during the moving of thepool cleaning robot within the region.

The method may include receiving or generating, at least in part by thepool cleaning robot, a three dimensional representation of the poolduring a learning period.

The method may include repeating the steps of generating, by the poolcleaning robot, and during a progress over a part of the pool, a threedimensional estimate of a portion of the pool; searching a portion ofthe three dimensional representation of the pool that may be similar tothe three dimensional estimate of the portion of the pool; and whereinthe determining of the location of the pool cleaning robot within thepool may be responsive to an outcome of the searching.

The method may include acquiring the images; and wherein at least oneimage may be an image of an illuminated surroundings of the poolcleaning robot.

The method may include illuminating a surrounding of the pool cleaningrobot with a warm colored illumination.

The method may include illuminating a surrounding of the pool cleaningrobot with blue light.

The method may include illuminating a surrounding of the pool cleaningrobot with green light.

The method may include acquiring the images and filtering our flickersfrom the images.

The method may include recognizing the flickers by comparing multipleimages, taken at different times, of a same scene.

The stereoscopic camera may include two image sensors.

The two image sensor may be followed by at least one fish eye lens.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter regarded as the invention is particularly pointed outand distinctly claimed in the concluding portion of the specification.The invention, however, both as to organization and method of operation,together with objects, features, and advantages thereof, may best beunderstood by reference to the following detailed description when readwith the accompanying drawings in which:

FIG. 1A is an example of a pool cleaning robot with a mapping andlocalization unit (vision system);

FIG. 1B is an example of a pool cleaning robot with a mapping andlocalization unit (vision system);

FIG. 1C is an example of a pool cleaning robot with a mapping andlocalization unit (vision system);

FIG. 2 is an example of a housing of the vision system;

FIG. 3 is an example of images and image synchronization;

FIG. 4 is an example of an vision system;

FIG. 5 is an example of an vision system;

FIG. 6 is an example of components of the vision system;

FIG. 7 is an example of components of the vision system;

FIG. 8 is an example of components of the vision system;

FIG. 9 is an example of 3D images captured underwater;

FIG. 10 is an example of a pool cleaning robot, a part of the pool andfields of view of the vision system;

FIG. 11 is an example of a pool cleaning robot, a part of the pool andfields of view of the vision system;

FIG. 12 is an example of a pool cleaning robot, a part of the pool and afield of view of the vision system;

FIG. 13 is an example of a pool cleaning robot, a part of the pool anlight cones;

FIG. 14 is an example of a pool cleaning robot, a part of the pool and acleaning region;

FIG. 15 is an example of a pool cleaning robot, a part of the pool and acleaning region;

FIG. 16 is an example of a pool cleaning robot, a part of the pool and acleaning region;

FIG. 17 is an example of a pool cleaning robot, a part of the pool and acleaning region;

FIG. 18 is an example of a method;

FIG. 19 is an example of a method;

FIG. 20 is an example of a method; and

FIG. 21 is an example of a method.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements.

DETAILED DESCRIPTION OF THE DRAWINGS

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known methods, procedures, and components have notbeen described in detail so as not to obscure the present invention.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn to scale.For example, the dimensions of some of the elements may be exaggeratedrelative to other elements for clarity. Further, where consideredappropriate, reference numerals may be repeated among the figures toindicate corresponding or analogous elements.

Any reference in the specification to a system should be applied mutatismutandis to a method that can be executed by the system.

Because the illustrated embodiments of the present invention may for themost part, be implemented using electronic components and circuits knownto those skilled in the art, details will not be explained in anygreater extent than that considered necessary as illustrated above, forthe understanding and appreciation of the underlying concepts of thepresent invention and in order not to obfuscate or distract from theteachings of the present invention.

Any reference in the specification to a method should be applied mutatismutandis to a system capable of executing the method and should beapplied mutatis mutandis to a non-transitory computer readable mediumthat stores instructions that once executed by a computer result in theexecution of the method.

Any reference in the specification to a system should be applied mutatismutandis to a method that can be executed by the system and should beapplied mutatis mutandis to a non-transitory computer readable mediumthat stores instructions that once expected by a computer result in theexecution of the method.

The terms “region”, “area”, “portion” may be used in an interchangeablemanner and may be of any shape and/or size.

A scene may be content within a field of view of a vision system. Thefield of view of the vision system may cover a surroundings of the poolcleaning robot.

There may be provided a pool cleaning robot (also referred to as poolcleaner) for cleaning a pool, the pool cleaning robot may include:

-   -   a. Filtering unit (denoted 92 in FIG. 1C) for filtering fluid.    -   b. Fluid control unit (denoted 94 in FIG. 1C) for controlling        the flow of fluid within the pool cleaning robot.    -   c. Drive system (denoted 93 in FIG. 1C), for propelling the pool        cleaning robot.    -   d. Brushing system (denoted 97 in FIG. 1C) for brushing dirt.    -   e. Body (housing) (denoted 90 in FIG. 1C) with one or more inlet        and one or more outlet (the fluid flow in the pool cleaning        robot between the one or more inlets and outlets).    -   f. Power supply system (denoted 95 in FIG. 1C) that is located        within the pool cleaning robot and supplies power to components        of the pool cleaning robot {the power supply system may be fed        from an external electrical power supply and a tethered cable}.        The power supply system may include an on board rechargeable        battery system, a charging mechanism. The power supply system        may include a turbine for converting a flow of fluid supplied to        the pool cleaning robot to energy.    -   g. A sensing unit (denoted 96 in FIG. 1C) that may include a        vision system (denoted 20 in FIGS. 1A, 1B and 1C). The vision        system is also referred to as mapping and localization system or        a stereoscopic vision system or a three-dimensional (3D)        stereoscopic vision system or integrated vision PCB.    -   h. Controller (denoted 98 in FIG. 1C) that may be configured to        control the at least one steering element, pumping element based        on actual photographs captured by the pool cleaning robot vision        system.

The vision system 20 may be configured to photographing the actualsurrounding area of a pool cleaning robot in order to recognize andmemorize the entire environment of the pool, the subsequent actuallocation and orientation of the pool cleaning robot in relation the poolwalls, floor, fixtures, structures, pool elements such as ladder, Jet,pool light, stairs, VGB and the like; and, at least one steering elementthat may be configured to move the pool cleaning robot along a cleaningpath, during a cleaning cycle process of a certain region of a floor ora sidewall of the pool; wherein the certain region may be partially orfully submerged.

The 3D vision enables the pool cleaning robot to create a map (such as a3D map) of the pool structure which assists the pool cleaning robot torecognize slopes, angles and thereby plan better the cleaningtrajectory.

The 3D representation of the pool may include information about anglesof walls, contact between floor and walls, an angled slope of a bottomof the pool.

During the generation of the 3D representation of the pool, when thepool cleaning robot does not fully recognize one or more pool staticelements that appear in the field of view of the pool cleaning robot(for example—an image of a sidewall is not clear enough) then the poolcleaning robot may turn and acquire a 3D information about static poolelements located at the opposite direction—and may imposed the latter ononto the other (merged) to create a better map. The one direction versusthe other is decided by an accelerometer pointing the slope direction.

The vision system may be operational both during the daytime andparticularly during nighttime when substantial amounts of end usersemploy their pool cleaning robots to clean their swimming pools.

The photographing by the vision system may include photographing andmemorizing views of every location visited in the pool.

The vision system may include at least one underwater camera.

The vision system may include a set of at least two cameras that mayform a stereoscopic vision system that is able to capture and memorizethree-dimensional (3D) photographs of the pool environment and everylocation visited in the pool.

The vision system may include a set of at least two cameras that mayform a stereoscopic vision system and at least one additional separatecamera that will be further discussed below but as an example, as anadditional attachment camera onto at least one pool cleaning robot cablein a SET OF POOL CLEANING ROBOTS operating in a pool with the functionof a non-entanglement of cables measure (see U.S. patent applicationSer. Nos. 15/702,772, 15/702,77 and 15/702,774).

The vision system may be attached to a measurement unit that measuresthe rate or speed of the advance and movements of the pool cleaningrobot.

The pool cleaning robot may use the memorized advance and movementsprofiles in a pool during a specific cycle time and compares them tonominal or standard profiles of advance and movements.

The pool cleaning robot employs for these purposes the stereoscopicvision system that is connected to the measurement unit. For example,the cameras may capture and memorize a photography of the location ofthe pool cleaning robot by recognizing a ladder pool light, drain,return jet or stairs that may be positioned near a vertical wall surfacethereby pinpointing its position location in the pool.

The pool cleaning robot may recognize the precise entry point to start avertical wall climbing procedure until it reaches the water line. At thewater line the pool cleaning robot may move sideways while cleaning thewaterline for a certain period of time. The stereoscopic vision systemmay capture and visualize points during the trajectory of the poolcleaning robot at the water line, including its descent from the walland its point of return to the horizontal floor, thereby processing thespeed/rate of movement or the drifting from pre-planned trajectory orpath parameters and perform corrective actions.

The accurate positioning of the pool cleaning robot may enable to coveronly (or substantially) only regions of the pool to be cleaned whilereducing (and even minimizing) movements and/or cleaning by poolcleaning robot of other regions. This increases the efficiency of thecleaning process, reduces the time of cleaning, and saves energy.

The accurate monitoring of the location of the pool cleaning robotprovides accurate information about the speed of propagation of the poolcleaning robot. If, for example, the accurate monitoring detects thatthe pool cleaning robot moves too fast (above the speed mandated by therotation of wheels or tracks) then it is an indication that the poolcleaning robot is slipping. The slipping mat indicate of slipperyregions—resulting from the accumulation of algae. This may requirealarming a pool cleaning robot user, changing the cleaning process,avoiding the slippery region, and the like.

Corrective actions (in case of finding problems or deviation fromdesired propagation path, speed, and the like) may include increase ordecrease drive motor(s) RPM in order to increase or decrease movementspeeds. It may similarly, increase/decrease water jet thrusting power(side, rear, top or bottom jets) in order to further regulate movementsof the pool cleaning robot and eliminate any drifting from pre-plannedtrajectory or path parameters and perform corrective actions.

Yet for another example, the pool cleaning robot may similarly recognizethe precise entry point to start a substantially inclined pool surfaceascent or descent on such an inclined surface that may exist between thedeep and the shallow areas of the pool.

Likewise, the pool cleaning robot may recognize location of existingplumbing fixtures or installations of the pool such as: main drain,return jets and the like as described in U.S. Pat. No. 8,665,858 that isincorporated herein in its entirety.

The pool cleaning robot may, by means of its vision system, recognize apool docking station, a pool cleaning robot battery charging fixture,and pool cleaning robot autonomous exiting structure as those describedin U.S. patent application Ser. No. 14/501,098 dated 30 Sep. 2014 thatis entitled: Autonomous pool cleaning robot and that is incorporatedherein in its entirety.

The pool cleaning robot may, by means of its vision system, recognizeanother pool cleaning robot of a set of pool cleaning robots alloperating in one single pool or any component or sub component, such asa tethered cable of the pool cleaning robot, such as described in U.S.patent application Ser. No. 15/702,772 filed on 13 of Sep. 2017 and isentitled: A set of pool cleaning robots and that is incorporated hereinin its entirety.

The at least two cameras that may form a stereoscopic vision system mayinclude (or may be coupled to) a synchronism mechanism that synchronizesboth stereoscopic cameras.

The synchronism mechanism may include a synchronizing hardware devicethat produces two equal photos that may cancel out and eliminate anyuneven photos

The vision system may further include at least one lighting system toprovide one or more lighting beams to brighten partially or fully darkpool area environments so that the photographs may be captured while thephotographed subjects are sufficiently illuminated.

It is crucial to obtain visual information about the pool surroundingsto be able to navigate, maneuver and avoid obstacles. There is a needfor high contrast and in the vision in various types of water qualitylevels that may include salinities, turbidity and the like.

The at least one lighting system may include a set that may include atleast one LED system that may include of at least one LED lamp and atleast one laser beam emitter.

The at least one set stereoscopic cameras, the at least one set of LEDand laser that may be connected to an integrated vision PCB platformthat may also include a photographic computerized processor, an RGB LEDand the like that are described in further detail below.

The at least one set stereoscopic cameras may employ one camera out ofthe at least one set in order to capture regular two-dimensionalphotographic captures.

The at least one set of LED may be connected to an integrated vision PCBplatform that may also include a photographic computerized processor,RGB LED and the like that are described in further detail below.

The entire integrated vision PCB system may be packaged inside a watertight, waterproof casing that comprises a transparent cover or visor.

The transparent cover may comprise a mechanism whereby different oradditional transparent covers may be installed at OEM or end user level.For example, tinted covers able to filter out certain lightingwavelengths. A yellow tinted additional cover may be clipped-on in orderto compensate, for example, a too harsh blue ambient environmentalbacklighting.

The RGB LED may control multiple colored lightings such as green, blue,red and additional lighting color combinations.

Alternatively or additionally, the RGB LED may include of an array ofLED system where each LED may include different colored LED light bulbs.

The at least one LED may emit a white colored beam for general-purposelighting of pool areas that need to be photographed for pool cleaningrobot navigational purposes. In ideal conditions, this may be the mostcommonly used type light beam illumination both at day, twilights and atnight.

The at least one LED may emit a strongly attenuated red colored beam forthe sensing by the stereoscopic camera vision system of the overallenvironmental lighting conditions in the pool and to assist with theemitting intensity and strengths of the other LED (or laser) so that thephoto colors or contrast may be optimized in the pool cleaning robotphoto capturing for navigation.

Another use of colored LED may not be just for navigational orrecognition of pool structures but also for underwater remote controlledrecreational snapshots such as described in US patent application U.S.Ser. No. 15/415,892 dated 26 Jan. 2017 and entitled: Interactive poolcleaning robot “whereby, the cameras or a single camera installed ontothe pool cleaning robot are waterproof.

Controlled photographic capturing may concern stills snapshot photos orvideo clips that their capturing (start and end) may be controlled by aremote-controlled device such as a tablet or another smart wirelessdevice using a dedicated application, for example MyDolphin®downloadable application.

Because good quality, high-resolution photographic stills or videos mayoccupy large amounts of data space in any memory device, in the poolcleaning robot control memory, the system facilitates the uploading ofsuch data to the internet or cloud.

The vision system may therefore further comprise additional interfacehardware with such as a Wi-Fi® or Li-Fi component devices that maycommunicate with internet.

Wi-Fi® technology that, it is well known, cannot function underwater soas soon as the pool-cleaning robot is removed or taken out from theswimming pool the captured photographic data may be transmittedthereafter.

Another embodiment of the uploading of photographic data may employ aLi-Fi device (Light Fidelity) that, it is well known, is able to employwireless communications underwater between devices using light totransmit data whereby, light travels relatively well in short distancessuch as in a swimming pool where radio transmission waves such as Wi-Fi®will not function. From the pool cleaning robot further communicationsare possible to and with an external to the pool device such as a powersupply—especially where there exists a line of sight—that is able toreceive, convert and process data light signals into digital formats,The device may then upload the data while underwater without thenecessity to delay upload until the cleaner was removed from the pool.

The at least one LED may emit a low attenuation blue or a white coloredbeam for improving lighting conditions of underwater photography ofobjects or subjects especially in the deep end of a pool or if naturaldaylight conditions are not optimal.

Further, if the objects or subjects of the photographic captures areilluminated by blue or a white light LED, better visual photographiccaptures will be achieved, with less haze or dispersion. However, thereflected light may need to be controlled and this will be achieved byeither a dimming effect or by controlling the RGB to compensate a brightlight with, for example, yellow or other warm color lighting or byemploying the LED as a flash light or strobe.

The at least one LED may emit a lower attenuation green colored beam forovercoming cloudy or underwater turbid conditions caused by unsettledand floating dust particles or solids, biological matter and the likethat may attenuate light in the white or blue wave lengths. A greencolored beam may penetrate deeper to neutralize a blurred backgroundcaused by a milky mist or cloudy water.

In order to measure and to counter turbid underwater photographicvisibility conditions, the pool cleaning robot may, at the end of eachcycle, arrive at a final location that may be a preprogrammed fixedlocation, and by means of the at least one camera capture at least onephoto of an opposite or a near pool wall or any other pool structure.This may be performed once a day, in full daylight, whereby the capturedphoto is saved in the robot memory. The pool cleaning robot may compareany new photo quality with an earlier one and by means of an algorithminterpret a drop in photographic quality as an increase in waterturbidity. Such an increase in turbidity may automatically trigger thestart of a new cleaning cycle.

The type and the choice of colored beam used may also be a function ofthe background color captured by the camera(s). In order to improve thecontrasting of the photograph's object or subject, for example, a yellowcolored beam or any other warmer color light beam, may neutralize thenatural blue color background or the naturally occurring blue color thatoriginates from commonly used blue colored swimming pool PVC or GRPcoverings that give, for example, the “blue look” to many pools.

The choice between different colored light beams such white, green,blue, red, laser and the like, may be automatic and subject to qualityof real time processed photographic views' qualities such as sharpness,contrasts and color that may automatically initiate a lightingprocedure, which may be able to constantly improve the captured views.Such a lighting procedure may be initiated any time but especially at atrial and error process of measuring for optimal photographic capturingresults.

Strong uncontrolled light reflection, reflective backlights orflickering may also hinder photographic quality by the camera therebyimpeding ability to clearly recognize pool fixtures or structures foroptimal vision system operation and navigation.

Naturally occurring vibrating or quivering lights and shades are effectswhere the constant reflections and flickering lights and shades impedethe qualities of photographic capturing. This may particularly occurduring daytime, when wind blows on the water surface of the pool causingripples but also during nighttime where the same phenomenon may occur,for example, when the pool spot lamps are lit.

The vision system may further be configured to filter the saidreflections. The reflections or flickering may change randomly accordingto time of day and pool location. The mechanism employs the keeping inmemory of last camera views captured over the last few frames in aspecific location (few frames may be 1, 2, 3, . . . n frames). Further,when the camera begins capturing a flickering or unsettled lightingevents comprising shifting and moving views the pool cleaning robotbegins to process the captured frames by merging the said memorizedframes with the presently captured frames and thereby eliminating theflickering factor from the photo. be equal in both stereoscopicallycaptured photos simultaneously acquired by both the cameras so that thefiltering function may cancel out and eliminate both reflections evenly.

The at least one lighting system may include at least one laser beamemitter that may be used for ornamental purposes, providing anentertaining light show in the pool and may also be used as photographiccapturing tool.

The ornamental laser show beam may be used for camera recognition.Namely, the constantly moving light on the pool surfaces that are movingon the pool surfaces may be captured by the camera(s) and used asadditional navigation means.

The at least one LED may further employ, within the framework of thepool cleaning robot control system, its integrated vision PCB platformof the vision system, at least one dedicated dimmer device that may beemployed to increase or decrease any color lighting beam strengthaccording to existing ambient underwater lighting and capturedphotographic colors conditions. For example, at night or when thereexists a flickering phenomenon comprising of vibrating or quiveringlights and shades on the surfaces of the pool.

An increase in lighting emitting, especially for color compensations orimprovements, may employ the at least one LED as the flash light orstrobe.

The at least one LED may include the dimmer element that may be employedto automatically decrease lighting beam strength when adverse ambientunderwater lighting conditions exist or when strong back lighting isbeing reflected back from photographed pool surfaces for example, whenfacing a strongly lit nearby vertical wall or reflections from, forexample, capture of stills or video of persons or facials underwater.The dimmer provides better picture quality under adverse effects.

The dimmer element may be employed to automatically decrease lightingbeam strength when adverse ambient underwater lighting conditions existfor example when strong lighting is being reflected back from cloudy,milky or turbid water caused by unsettled and floating dust particlesthereby acting as a motor vehicle “fog lights”.

The dimming mechanism may be connected to a separate photo-resistorlight power sensor that may be integrated onto the vision PCB platform.Such a resistor modifies its resistance as a function of the light beamthat hits it. Such a resistor may be a model PDV-P8201 available fromLuna Optoelectronics from Roanoke, Va., in the US.

The dimming mechanism may be an inherent diode that forms part of anordinary LED thereby saving the use of a separate, additional, lightpower or intensity sensor.

The inherent dimming mechanism may employ a photo-diode light powersensor that may be integrated in an ordinary LED thereby recognizingenvironmental light or darkness intensities. Such a diode may be a modelMTD5052 W available from Marktech Optoelectronics from Latham, N.Y. inthe US.

The photo-diode converts photons to electrical current whereby every p-njunction diode may embody such a photo-diode that by being transparentis able to recognize light or darkness intensities and also act as alight emitter.

Underwater camera visibility conditions (penetration ability) andturbidity level conditions (penetration disability) in the underwaterswimming pool water environment, or backlight reflection from elementslike pool surfaces such as walls or waterline, may be measured bytransmitting lighting beams towards the water or onto said pool surfaceby employing various and different light colored interchangeable beams.Such as, but not exclusively, white/blue/red/yellow/green or any othercolor combination that may be set by the said RGB and that aretransmitted by the said LED. The need for interchangeable and a varietyof lighting beam options is motivated by a combination of environmentalfactors that are common in underwater photography, especially botanicalor archaeological. There are changing variables underwater that arerelated to the external natural or unnatural light intensities, poolcovering colors provide different background tints or shadings to theenvironment, depth of the swimming pool, the water clarity and the like.There is a need in measuring the reflection (backlight) or thepenetration level of each of the light colors using a light sensor orcamera and comparing the reflection intensity level between each color.For example, a white beam color is transmitted by the LED and thereturned intensity of the reflection percentage factor is measured.After that a blue beam, followed by a green and red then yellow or anyother combination that may be set by the RGB and that are transmitted bythe LED and each reflection level is being measured. During one cleaningcycle of the pool cleaning robot, in different areas of the swimmingpool, different colored beams may be used according to thecircumstances. A calculation and comparing of all the reflection valueresults may provide an index the reflection that may be translated intoa turbidity level and eventually decide whether the camera is able tocontinue functioning in an optimal mode.

It is important to understand that although this specification concernsitself with navigation of the pool cleaning robot underwater it isequally so with regard to underwater photo and video capturing. Inpractice, the same technological requirements, rules and solutionsproposed, apply to automatic camera navigation, that are implementedwithout human intervention, as what might apply to private leisure photoand video capturing that may require some measure of manual activation,at least when it concerns pressing the camera or video activation buttonin a remote computerized or smart device.

The pool cleaning robot may be configured to collect and plot agraphical view of a swimming pool including the “constituents” (walls,ladders, spot lamps, stairs, jets). The data will be stored in the poolcleaning robot. The said data may be further uploaded to the cloud forOEM analysis of pool cleaning robot performance. A waiver of privacy maybe needed for this.

Based on the data on the pool, a recommendation report may be sent tothe end user with advices how to improve pool cleaning robot behaviourin his pool.

In another embodiment, the pool cleaning robot does not include noremploys an vision system with the above mentioned dedicated at least oneLED but includes, for example, an ornamental lighting lamp that may be aLED that comprises a photo-diode light power sensor that may be used tocontrol the intensity of light emitting from the ornamental lamp or LED.

Alternatively or additionally, a dedicated backlight sensor may beattached to the integrated vision PCB.

The integrated vison PCB may include of a flat base structure thatcomprises the electronic components such as but not exclusively, thecamera(s), lighting devices, sensors, sealed cover and the like attachedto the flat base.

In another embodiment, the PCB base may not be flat but may bearched/curved or cambered.

The flat, arched or cambered forms of the base PCB has an effect on thearchitecture of the positioning of the at least one camera or camerasand the LED. Namely, the baseline of the cameras may be narrow or may bewider in practically endless dimensional configurations or combinations.The wider (lengthwise) the baseline—so it is easier to formtriangulations and measure distances to pool structures.

In the preferred embodiment, the PCB may include a 12 cm (or other size)baseline for the cameras from which a depth of 40 cm. may be extractedwhereby the distance from the camera up to 40 cm. is a “dead zone” thatcannot be photographed.

The more the distance between both cameras is wider, the smaller is thedead zone distance between the pool cleaning robot body and so is theeffective capturing distance thereby reducing the ability to identifypool features, obstacles or elements.

What defines the dead zone is the viewing angle of the camera that is afunction of the physical size of the camera's image sensor size and thefocal length of the lens and the gap between them.

There may be provided a smaller gap by means of using, in the context ofthe stereoscopic vision system of two cameras, one narrow lens camera(regular) and another wide lens camera. The resolution of the wide lenscamera may be then increased to adapt it to the triangulation ability ofthe narrower lens.

The estimated distance with the 14 cm baseline should be 50 cm but maystill be sufficient to acquire good photographic views.

In order to achieve a synchronized stereoscopic 3D camera view, at leastone pair of cameras is needed.

The pair of cameras may be installed on the baseline of any reasonablewidth.

Additional cameras may be used thereby increasing the baseline width tobe used in wide bodies pool cleaning robot s. 50-cm baselines may beachieved. The 3D views may also be achieved by viewing say, two or moresets of stereoscopic views created by two or more sets of cameras.

An additional at least one separate camera may be installed on thebaseline. This additional camera may be a digital underwater SLR camerathat may be fixed to the vision system or to the pool cleaning robot bywiring the camera onto the PCB platform and a digital onboard photoprocessor that may be used to capture the recreational picturesunderwater.

The additional digital SLR camera underwater may be used as an add-on byan end user to capture the recreational pictures underwater whereby thecamera may be a dismountable and removable camera.

The LED lighting fixtures may be positioned on the same flat or curvedPCB baseline.

The LED lighting fixtures may be positioned off the flat or arched PCBbaseline and be attached to the cameras by means of a braided wiringdevice.

The wiring braid may be particularly useful when the LED are used inconjunction of an arched PCB base.

Therefore, in another embodiment, the LED may be located in anon-compartmentalized fashion on the body of the pool cleaning robot.For example, two cameras in a centrally positioned location on the bodywith two LED positioned separately.

Nevertheless, usage of connecting the LED to the PCB by means of braidedwiring devices may cause difficulties with maintaining stablecalibrations over time.

The photographic capturing, recognition and memorizing of the entireenvironment of the pool and its elements may activate the steeringelement that may be configured to navigate the pool cleaning robot alonga preprogrammed cleaning path or a manually remote controlled selectedprogrammed paths.

The recognition of pool features mechanism may include the performing ofan initial photographic testing and calibration procedure at the startof each cleaning cycle. Such a testing procedure may be the trial anderror process of measuring environmental pool conditions for optimalresults.

The environmental pool conditions may comprise any one of: overallambient lighting conditions, slipperiness of surfaces and speed of poolcleaning robot propagation, angle of surface, triangulation of poolcleaning robot position and the like.

The testing may comprise a set of travelling maneuvers between walls andcapturing their photographic relative positions using the vision systemthat may be assisted by the sensors.

The travelling test maneuvers may consist of circular 360 degreesmovements on the pool bottom whereby the pool cleaning robot mayhorizontally also turn around its axis.

Triangular or angled test moves between opposing walls may also bepossible

Free style test movements may also be possible.

The type of maneuvers may be combined or selected according to initialassessment by the main PCB control of the pool cleaning robot inconjunction with the integrated vision PCB of the type or shape of thepool and other sensors.

The type of testing maneuvers may be combined or selected according toinitial assessment of, for example, the shape of the pool, theslipperiness level of the surface i.e. the drifting rates, the qualityof photographic capturing, day or night cleaning cycles, the surfaceinclination levels, quality and speed of acquiring the pool cleaningrobot triangulated position and the like.

The main PCB control may employ the integrated vision PCB as anintegrated sensor device.

FIGS. 1A and 1B illustrate a pool cleaning robot 10 according to anembodiment of the invention. In FIGS. 1A and 1B the exterior of thevision system 20 is positioned at the front of the pool cleaning robot.

The vision system may positioned elsewhere (top, sidewall, rear, lowerpart and the like). FIG. 2 is an example of a housing 21 visionsystem—and illustrates the exterior of the vision system and alsoillustrates the location of a PCB 23 within the housing.

The housing include a flat transparent part 22 that is positioned in theoptical path of the first lens 43 (of the first camera) and in theoptical path of the second lens 44 (of the second camera). The flattransparent part may be replaced by a non-flat lens (see top middle partof FIG. 2).

FIG. 3 is an example of images 31 and 32 and image synchronization 34(side-by-side stereoscopic video) based on first camera video 33 andsecond camera video 34 that are line locked—synchronized in lineresolution. Slices (or lines) of images that are acquired simultaneouslyby two cameras are virtually positioned at the same slice of aside-by-side stereoscopic video.

FIGS. 4-8 illustrate examples of various components of the vision system20 such as first camera 41, first lens 43 (of first camera), secondcamera 42, second lens 44 (of second camera), merge and sync unit 45 formerging and synchronizing between images from the first and secondcameras, processor 46 for processing the images, communication port 47,memory unit 48, input output driver (I/O driver 49), first ornamentalangled laser beam 51, second ornamental angled laser beam 52, first LED53, second LED 54, status indicator 55, DC/DC unit 61 for supplying DCvoltages to various components, clock unit 62, debut interface 63, firstand/or second camera controller 71, first and/or second laser controller72, RGB LED lamp 75 whereby the color value output and intensity of thelight colors can be defined. For example, green ad red will provide theyellow light beam that is of importance in a blue colored swimming poolenvironment.

FIG. 5 illustrates that first camera 41, second camera 42, merge andsync unit 45, communication port 67, and DC/DC unit 61 are located onmain PCB 65.

FIG. 5 illustrates that first laser 51, second laser 52, first LED 53,second LED 54, and status indicator 55 are located at a laser and LEDmodule 66.

FIG. 5 also illustrates that processor 46, communication port 47, memoryunit 48, I/O driver 49, clock unit 62 and debut interface 63 are locatedat control unit 67.

FIG. 9 illustrates images acquire by first camera (images 31) and imagesacquired by a second camera (images 32).

Image rectification may be achieved by using the said pool cleaningrobot stereoscopic vision that captures two images imposed one on theother, by calculating the disparity of the images and by creating adepth cloud. This is the first step of creating a 3D image of thecaptured swimming pool landscape. The disparity is calculated pixel bypixel leading to a cloud of pixels, that is viewed by the human eye as a3D picture of the landscape. In this specification, this meansconstructing a 3D model of the swimming pool area that is to be cleaned.

Consecutive matching scans (in the same pool) occurs, when a poolcleaning robot enters to the same pool repeatedly for example, everyday. The pool cleaning robot quickly identifies the familiarity withthat pool which is preceded by a short photographic viewing scan(“looking around”) and by employing a preowned map that is stored in thememory of the pool cleaning robot control device. This feature reducesthe time it takes to scan and map the entire pool before starting theactual new cleaning cycle.

The said vision system is capturing pictures from both cameras and byusing the known method of triangulation between two cameras and objectsat the front to create a 3D image also called a 3D cloud of the viewahead of the robot.

The said 3D cloud may be analyzed by employing a particle filter (PF)algorithm whereby the particles are the dots that combine to create thesaid 3D cloud.

This achieves a filtering the particles found in the cloud and removingthe “noise” to find and to identify the actual features captured oncamera. That activates memorizing and maintaining several assumptionsconcerning the real location of the wall or any other features orconstituents located ahead of pool cleaning robot travelling path.

Furthermore, there exists an ongoing process of updating all the saidassumptions in order to improve localization of the robot in the poolspace. In FIG. 14 below, arrows 242 mark the possible location of therobot in the pool space. These possible locations are estimated by thepool cleaning robot 10 while moving along path 214. Statistically, thearea (in FIG. 14—area 100(8,4) out of an array of areas 100(j,k)) withmost arrows has the highest probability for the robot location. Thecollection of dots denoted 103 is a part of a 3D estimate of thepool—and in FIG. 14 this collection represents a corner of the pool.

The pool cleaning robot in the pool, while moving forward and backwardwhile cleaning the pool and using the calculated systematic cleaningpath.

Slam algorithm (PF based) builds a map online and using the same map forlocalizing the robot during the mapping session (building the map) andby comparing pool cleaning robot scan in the pool to the map and drawingit with probabilities. The pool map is divided into square co-ordinatecells. Each cell holds a probability of being occupied by the poolcleaning robot and each said particle in a map keeps several maps inmemory at all times for a more stable map creation. That way, any bad orunsuccessful scans do not ruin the entire map for example, in the caseof low visibility due to darkness or turbidity. Supports loop closure tocorrect backwards the drawing of the map based on similar locationsmapped in 2D an algorithm to eliminate the sunlight sparkling orflickering on the pool surfaces. As discussed above, sun light orlighting sparkling may be caused by light breaking over the wave surfaceof the pool water. The stereoscopic algorithm allows a cleardistinguishing between the lighting fluctuations and the real poolfeatures.

FIG. 10 illustrates an example of a pool cleaning robot 10 in a pool 100that includes first sidewall 101 and second sidewall 102. A volume ofturbid fluid 109 is positioned between the pool cleaning robot 10 andsecond sidewall 102.

The pool cleaning robot 10 illuminates its surroundings with green light202 and with a non-green light (other light) 201. The green lightpenetrates deeper in the turbid fluid 109.

FIG. 11 illustrates an example of a pool cleaning robot 10 in a pool 100that includes first sidewall 101 and second sidewall 102. The poolcleaning robot 10 illuminates its surroundings (that does not includeturbid fluid 109) with green light 202 and with a non-green light (otherlight) 201. The green light and the other light reach the wall- and thusenjoy a same penetration depth in the fluid of the pool.

FIG. 12 illustrates an example of a pool cleaning robot 10 in a pool 100that includes first sidewall 101 and second sidewall 102. The poolcleaning robot 10 illuminates its surroundings—that includes parts offirst and second sidewalls—thus allowing the pool cleaning robot 10(using for example a stereoscopic camera) to estimate the distances (D1211 and D2 212) from the sidewalls.

FIG. 13 illustrates two light cones 221 and 222 generated on the surfaceof the water of the pool—as a result of illumination of the water by thefirst and second ornamental lasers.

FIG. 15 illustrates a region 105 that is cleaned by the pool cleaningrobot 10. It is noted that the region 105 may be of different shape,and/or of different size and/or may or may not include one or moreportions of a sidewall of the pool.

Region 105 is cleaned while the pool cleaning robot 10 follows acleaning path 251 that covers region 105 and extends slightly outsidethe region. The cleaning path is a raster scan cleaning path—but anyother cleaning path (random, pseudo random and even deterministic path)may be used.

The pool cleaning robot 10 follows the path while repetitivelydetermines it location in an accurate manner.

The pool cleaning robot 10 may uses the transition (as shown in FIG. 16)from one line to another line of the raster scan pattern to image acorner of the pool—thereby increase the accuracy of the locationdetermination. The raster scan lines 251 (or at least one line) may beoriented (non-parallel) to first sidewall 101—in order to increase theprobability of imaging a corner. The transitions may be defined to placea corner of the pool in the field of view of pool cleaning robot 10 (seefor example transition 252 of FIG. 17).

FIG. 16 illustrates a part of the 3D approximation of the sidewalls ofthe pool. FIG. 16 also shows that parts of both third and fourthsidewalls are within the field of view (201) of the pool cleaning robot10.

FIG. 16 also illustrates a slippery area 106 detected by the poolcleaning robot 10 (by monitoring an increased propagation speedattributed to the bottom of the pool).

It is noted that the search for imaging of two sidewalls that areoriented to each other may be replaced by searching for other staticpool elements that have parts that are oriented to each other.

FIG. 18 illustrates method 300 for cleaning a region of a pool, themethod may include repeating a first sequence of steps 310 and 340.Thus—the movement of the pool cleaning robot (step 310) may beresponsive to the location of the pool cleaning robot—as determined instep 340.

Step 310 may include moving a pool cleaning robot along a cleaning paththat covers the region while acquiring, at first different points oftime and by a sensing unit of the pool cleaning robot, first images offirst scenes, at least one first scene at each first point of time.Covers means that the cleaning path may or may may not exceed theregion—but passes through the entire region.

The acquiring of the first images may be executed while illuminating thefirst scenes by the pool cleaning robot.

Step 340 may include determining, based at least in part of on the firstimages, first locations of the pool cleaning robot.

The moving of step 310 may be responsive to the first locations of thepool cleaning robot.

The first sequence may also include steps 320 and 330. Step 310 may befollowed by a sequence of steps 320 and 330. Step 330 may be followed bystep 340.

Step 320 may include detecting, in at least one first image,illumination reflected or scattered as a result of the illuminating ofthe first scenes.

The illumination reflected or scattered may be reflected or scatteredfrom turbid fluid, from a pool static element and the like.

Step 330 may include removing from the at least one first imageinformation about the illumination reflected or scattered.

The first sequence may also include step 325 of calculating at least oneout of a reflection parameter and a scatter parameter of theillumination reflected or scattered from the turbid fluid.

Step 325 may be followed by step 335 of determining at least oneillumination parameter based on the at least one out of the reflectionparameter and the scatter parameter. Step 335 may be followed by step310.

The at least one illumination parameter may be a color of illuminationand/or an intensity of illumination.

The calculating may be based on one or more images acquired underdifferent illumination conditions.

Method 300 may also include repeating a second sequence of steps 350 and380. Thus—the movement of the pool cleaning robot (step 350) may beresponsive to the location of the pool cleaning robot—as determined instep 380.

Method 300 may include selecting (step 302) between the first sequenceand the second sequence. The selection may be time based (for exampleapplying the first sequence at night and applying the second sequence atday time), illumination condition based (applying the first sequencewhen the illumination in the pool {ambient and/or artificial} is notenough to acquire images of a certain quality), battery resources statusbased (applying the first sequence when there is enough power to performthe illumination), water condition based (applying the first sequencewhen the water is tool turbid and illumination is required) and thelike.

Step 350 may include moving the pool cleaning robot along the cleaningpath while acquiring, at second points of time and by the sensing unitof the pool cleaning robot, second images of second scenes, at least onesecond scene per point of time. The acquiring of the second images maybe executed without illuminating the second scenes by the pool cleaningrobot;

Step 380 may include determining, based on the second images of thesecond scenes, second locations of the pool cleaning robot.

The moving (step 350) may be responsive to the second locations of thepool cleaning robot.

The second sequence may also include steps 360 and 370. Step 350 may befollowed by a sequence of steps 360 and 370. Step 370 may be followed bystep 380.

Step 360 may include detecting, in at least one image, a flicker.

Step 370 may include removing from the at least one image informationabout the flicker. This may include removing the flicker, masking pixelsof the flicker and the like.

FIG. 19 illustrates method 400 for navigating a pool cleaning robotwithin a pool. Method 400 may include repetitively executing (executingduring multiple points of time) during the navigating of the poolcleaning robot, a sequence of steps 410, 420 and 430.

Step 410 may include concurrently (for example when the pool cleaningrobot is substantially at the same location) sensing, by a pool cleaningrobot, distances between the pool cleaning robot and static poolelements that may be oriented from each other. The static pool elementsmay be elements of the pool that are static (ladders, sidewalls,lighting elements, drain, bottom, and the like).

Step 420 of estimating by a pool cleaning robot processor (processor ofthe pool cleaning robot) a location of the pool cleaning robot withinthe pool, based on the distances.

Step 430 of determining a future progress of the pool cleaning robotbased on the location. For example—progressing along a cleaning path,correcting deviations from a cleaning path.

Step 410 may include acquiring one or more images of the static poolelements by a stereoscopic camera of the robot—or estimating thedistances in another manner (for example using other distance sensors).

Step 410 may include step 412 of illuminating a surrounding of the robotto provide an illuminated surrounding, step 414 of acquiring one or moreimages of the illuminated surrounding. Step 414 may be followed byprocessing the one or more images to determine whether the surroundinginclude the one or more static pool elements. The processing may beincluded in step 420.

Step 412 may include illuminating the illuminated surroundings withdifferent colors, at different points of time, step 414 may includeobtaining different color images of the illuminated surroundings, andstep 416 may include comparing between the different color images todetermine whether the illuminated surroundings includes the one or morestatic pool elements.

The different colors may include green and another color.

Method 400 may include step 405 of receiving or generating, at least inpart by the pool cleaning robot, a three dimensional representation ofthe pool during a learning period. The 3D representation may includeinformation about the 3D location of points that belong to the pool. The3D representation may be a cloud of points or any other representation.

Step 410 may be preceded by step 405.

Steps 410 and 420 may include (a) generating, by the pool cleaningrobot, and during a progress over a part of the pool, a threedimensional estimate of a portion of the pool; (b) searching a portionof the three dimensional representation of the pool that may be similar(equal, substantially equal, match, best match) to the three dimensionalestimate of the portion of the pool; and (c) determining of the locationof the pool cleaning robot based on the outcome of the searching.

FIG. 20 illustrates method 500.

Method 500 may include various steps—as listed below.

Step 510 may include illuminating a surrounding of a pool cleaning robotwith green light to provide a green illuminated scene.

Step 510 may be followed by step 512 of acquiring an image of the greenilluminated scene.

Step 512 may be followed by step 514 of estimating a penetration depthof the green light within the surrounding of the pool cleaning robot.

Step 520 may include illuminating the surrounding of the pool cleaningrobot with a light of another color to provide another color illuminatedscene. The other color differs from green.

Step 520 may be followed by step 522 of acquiring an image of the othercolor illuminated scene.

Step 542 may be followed by step 524 of estimating a penetration depthof the other light within the surrounding of the pool cleaning robot.

Steps 514 and 524 may be followed by step 530 of comparing between thepenetration depth of the green light and the penetration depth of theother light to provide a comparison result.

Step 530 may be followed by step 540 of determining, based on thecomparison result, at least one of a location of the pool cleaningrobot, and a state of water within the surroundings of the pool cleaningrobot.

Step 540 may include determining that the surroundings of the poolcleaning robot may include a sidewall of the pool when the penetrationdepth of the other light within the surrounding of the pool cleaningrobot substantially equals the penetration depth of the green lightwithin the surrounding of the pool cleaning robot.

Step 540 may include determining that the surroundings of the poolcleaning robot does not may include a sidewall of the pool when thepenetration depth of the other light within the surrounding of the poolcleaning robot substantially differs from the penetration depth of thegreen light within the surrounding of the pool cleaning robot.

FIG. 21 illustrates an example of method 600.

Method 600 is a method for cleaning a region of the pool.

Method 600 may include the listed below steps.

Step 610 may include moving a pool cleaning robot within the regionwhile repetitively determining a location of the pool cleaning robotbased on images acquired by a stereoscopic camera of the pool cleaningrobot.

Step 610 may be followed by step 620 of cleaning the region by a poolcleaning robot during the moving of the pool cleaning robot within theregion.

Method 600 may include step 605 of receiving or generating, at least inpart by the pool cleaning robot, a three dimensional representation ofthe pool during a learning period.

Step 610 may be preceded by step 605.

Steps 610 and 620 may include (a) generating, by the pool cleaningrobot, and during a progress over a part of the pool, a threedimensional estimate of a portion of the pool; (b) searching a portionof the three dimensional representation of the pool that may be similarto the three dimensional estimate of the portion of the pool; and (c)the determining of the location of the pool cleaning robot within thepool may be responsive to an outcome of the searching.

Step 610 may include acquiring the images; and wherein at least oneimage may be an image of an illuminated surroundings of the poolcleaning robot.

Step 610 may include illuminating a surrounding of the pool cleaningrobot with a warm colored illumination (such as a yellow light).

Step 610 may include illuminating a surrounding of the pool cleaningrobot with blue light.

Step 610 may include illuminating a surrounding of the pool cleaningrobot with green light.

Step 610 may include acquiring the images and filtering our flickersfrom the images.

Step 610 may include recognizing the flickers by comparing multipleimages, taken at different times, of a same scene.

Step 610 may include acquiring the images by the stereoscopic camera,wherein the stereoscopic camera may include two image sensors.

The two image sensor may be followed by at least one fish eye lens.

Any combination of any step of any one of the methods illustrated in thespecification may be provided. Any combination of any feature of anyclaims may be provided. There may be provided a pool cleaning robot thatis constructed and arranged to execute any combination of any steps ofany of the methods illustrated in the specification. There may beprovided a non-transitory computer readable medium that storesinstructions for executing any combination of any steps of any of themethods illustrated in the specification.

“Configured” and “constructed and arranged” are used in aninterchangeable manner.

The terms “comprising”, “including” having” “consisting”, and“consisting essentially of” are used in an interchangeable manner.

The phrase “may be” also cover “may not be”.

In the foregoing specification, the invention has been described withreference to specific examples of embodiments of the invention. It will,however, be evident that various modifications and changes may be madetherein without departing from the broader spirit and scope of theinvention as set forth in the appended claims.

Moreover, the terms “front,” “back,” “rear” “top,” “bottom,” “over,”“under” and the like in the description and in the claims, if any, areused for descriptive purposes and not necessarily for describingpermanent relative positions. It is understood that the terms so usedare interchangeable under appropriate circumstances such that theembodiments of the invention described herein are, for example, capableof operation in other orientations than those illustrated or otherwisedescribed herein.

The connections as discussed herein may be any type of connectionsuitable to transfer signals from or to the respective nodes, units ordevices, for example via intermediate devices. Accordingly, unlessimplied or stated otherwise, the connections may for example be directconnections or indirect connections. The connections may be illustratedor described in reference to being a single connection, a plurality ofconnections, unidirectional connections, or bidirectional connections.However, different embodiments may vary the implementation of theconnections. For example, separate unidirectional connections may beused rather than bidirectional connections and vice versa. Also,plurality of connections may be replaced with a single connection thattransfers multiple signals serially or in a time multiplexed manner.Likewise, single connections carrying multiple signals may be separatedout into various different connections carrying subsets of thesesignals. Therefore, many options exist for transferring signals.

Although specific conductivity types or polarity of potentials have beendescribed in the examples, it will be appreciated that conductivitytypes and polarities of potentials may be reversed.

Those skilled in the art will recognize that the boundaries betweenvarious components are merely illustrative and that alternativeembodiments may merge various components or impose an alternatedecomposition of functionality upon various components. Thus, it is tobe understood that the architectures depicted herein are merelyexemplary, and that in fact many other architectures can be implementedwhich achieve the same functionality.

Any arrangement of components to achieve the same functionality iseffectively “associated” such that the desired functionality isachieved. Hence, any two components herein combined to achieve aparticular functionality can be seen as “associated with” Each othersuch that the desired functionality is achieved, irrespective ofarchitectures or intermedial components. Likewise, any two components soassociated can also be viewed as being “operably connected,” or“operably coupled,” to Each other to achieve the desired functionality.

Furthermore, those skilled in the art will recognize that boundariesbetween the above described operations merely illustrative. The multipleoperations may be combined into a single operation, a single operationmay be distributed in additional operations and operations may beexecuted at least partially overlapping in time. Moreover, alternativeembodiments may include multiple instances of a particular operation,and the order of operations may be altered in various other embodiments.

However, other modifications, variations and alternatives are alsopossible. The specifications and drawings are, accordingly, to beregarded in an illustrative rather than in a restrictive sense.

In the claims, any reference signs placed between parentheses shall notbe construed as limiting the claim. The word ‘comprising’ does notexclude the presence of other elements or steps than those listed in aclaim. Furthermore, the terms “a” or “an,” as used herein, are definedas one or more than one. Also, the use of introductory phrases such as“at least one” and “one or more” in the claims should not be construedto imply that the introduction of another claim element by theindefinite articles “a” or “an” limits any particular claim containingsuch introduced claim element to inventions containing only one suchelement, even when the same claim includes the introductory phrases “oneor more” or “at least one” and indefinite articles such as “a” or “an.”The same holds true for the use of definite articles. Unless statedotherwise, terms such as “first” and “second” are used to arbitrarilydistinguish between the elements such terms describe. Thus, these termsare not necessarily intended to indicate temporal or otherprioritization of such elements. The mere fact that certain measures arerecited in mutually different claims does not indicate that acombination of these measures cannot be used to advantage.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents will now occur to those of ordinary skill in the art. It is,therefore, to be understood that the appended claims are intended tocover all such modifications and changes as fall within the true spiritof the invention.

We claim:
 1. A method for cleaning a region of a pool, the methodcomprises: moving a pool cleaning robot along a cleaning path thatcovers the region while acquiring, at first different points of time andby a sensing unit of the pool cleaning robot, first images of firstscenes, at least one first scene at each first point of time; whereinthe acquiring of the first images is executed while illuminating thefirst scenes by the pool cleaning robot; detecting, in at least onefirst image, illumination reflected or scattered as a result of theilluminating of the first scenes; removing from the at least one firstimage information about the illumination reflected or scattered;determining, based at least in part of on the first images, firstlocations of the pool cleaning robot; and wherein the moving isresponsive to the first locations of the pool cleaning robot.
 2. Themethod according to claim 1 comprising: moving the pool cleaning robotalong the cleaning path while acquiring, at second points of time and bythe sensing unit of the pool cleaning robot, second images of secondscenes, at least one second scene per point of time; wherein theacquiring of the second images is executed without illuminating thesecond scenes by the pool cleaning robot; detecting, in at least oneimage, a flicker; removing from the at least one image information aboutthe flicker; determining, based on the second images of the secondscenes, second locations of the pool cleaning robot; and wherein themoving is responsive to the second locations of the pool cleaning robot.3. The method according to claim 2 comprising selecting betweenacquiring the first images and acquiring of the second images.
 4. Themethod according to claim 3 wherein the selecting is based on a time ofcleaning.
 5. The method according to claim 3 wherein the selecting isbased on ambient illumination.
 6. The method according to claim 1comprising calculating at least one out of a reflection parameter and ascatter parameter of the illumination reflected or scattered.
 7. Themethod according to claim 6 comprising determining at least oneillumination parameter based on the at least one out of the reflectionparameter and the scatter parameter.
 8. The method according to claim 7wherein the at least one illumination parameter is a color ofillumination.
 9. The method according to claim 7 wherein the at leastone illumination parameter is an intensity of illumination.
 10. Themethod according to claim 1 wherein the calculating is based on one ormore images acquired under different illumination conditions.
 11. Themethod according to claim 1 comprising acquiring the first images by astereoscopic camera of the sensing unit.
 12. A non-transitory computerreadable medium that stores instructions that once executed by a poolcleaning robot cause the pool cleaning robot to execute the steps ofmoving the pool cleaning robot along a cleaning path that covers aregion of the pool while acquiring, at first different points of timeand by a sensing unit of the pool cleaning robot, first images of firstscenes, at least one first scene at each first point of time; whereinthe acquiring of the first images is executed while illuminating thefirst scenes by the pool cleaning robot; detecting, in at least onefirst image, illumination reflected or scattered as a result of theilluminating of the first scenes; removing from the at least one firstimage information about the illumination reflected or scattered;determining, based at least in part of on the first images, firstlocations of the pool cleaning robot; and wherein the moving isresponsive to the first locations of the pool cleaning robot. 13.(canceled)
 14. (canceled)
 15. (canceled)
 16. (canceled)
 17. (canceled)18. (canceled)
 19. (canceled)
 20. (canceled)
 21. (canceled) 22.(canceled)
 23. A pool cleaning robot that comprises: a housing; afiltering unit that is constructed and arranged to filter fluid; a fluidcontrol unit that is constructed and arranged to control a flow of thefluid within the pool cleaning robot; a sensing unit; an illuminationunit; a processor; and a drive system; wherein the drive system isconstructed and arranged to move the pool cleaning robot along acleaning path that covers the region; wherein the sensing unit isconstructed and arranged to acquire first images of first scenes, atfirst different points of time, while the pool cleaning robot movesalong the cleaning path, and while the illumination unit illuminates thefirst scenes; wherein at least one first scene is acquired at each firstpoint of time; wherein the processor is constructed and arranged to:detect, in at least one first image, illumination reflected or scatteredas a result of the illuminating of the first scenes; remove from the atleast one first image information about the illumination reflected orscattered; determine, based at least in part of on the first images,first locations of the pool cleaning robot; and determine a manner ofmoving the pool cleaning robot in response to the first locations of thepool cleaning robot.
 24. The pool cleaning robot according to claim 23wherein the sensing unit is constructed and arranged to acquire secondimages of second scenes, at second different points of time, while thepool cleaning robot moves along the cleaning path, and while theillumination unit does not illuminate the second scenes; wherein atleast one second scene is acquired at each second point of time; whereinthe processor is constructed and arranged to: detect, in at least oneimage, a flicker; remove from the at least one image information aboutthe flicker; determine, based at least in part of on the second images,second locations of the pool cleaning robot; and determine a manner ofmoving the pool cleaning robot in response to the second locations ofthe pool cleaning robot.
 25. The pool cleaning robot according to claim23 according to claim 24 wherein the processor is constructed andarranged to select between acquiring the first images and acquiring ofthe second images.
 26. The pool cleaning robot according to claim 25wherein the selecting is based on a time of cleaning.
 27. The poolcleaning robot according to claim 25 wherein the selecting is based onambient illumination.
 28. The pool cleaning robot according to claim 23wherein the processor is constructed and arranged to calculate at leastone out of a reflection parameter and a scatter parameter of theillumination reflected or scattered.
 29. The pool cleaning robotaccording to claim 28 wherein the processor is constructed and arrangedto determine at least one illumination parameter based on the at leastone out of the reflection parameter and the scatter parameter. 30-54.(canceled)